#ifndef STRINGVALIDATOR_H
#define STRINGVALIDATOR_H
#include <QString>
#include <QRegularExpression>
#include <QDebug>
#include <memory>
#include <vector>
#include <functional>
#include "global.h"

class StringValidator
{
public:
    StringValidator();
    virtual ~StringValidator() = default;

    // 验证方法（带预处理选项）
    virtual ValidationResult validate(const QString& input,
                                      const std::vector<ValidationOption>& options = {}) const = 0;

    // 工厂函数别名
    using ValidatorPtr = std::shared_ptr<StringValidator>; //创建一个
};

#endif // STRINGVALIDATOR_H
